package ModuloPessoa;

import java.util.ArrayList;
import java.util.HashMap;

import ModuloSala.Sala;

public class RepositorioDePessoas implements InterfaceRepositorioDePessoas{

	private HashMap<String, Pessoa> listaDeDiretores;
	private HashMap<String, Pessoa> listaDeAtores;
	
	public RepositorioDePessoas(){
		listaDeDiretores = new HashMap<String, Pessoa>();
		listaDeAtores = new HashMap<String, Pessoa>();
	}
	
	public void adicionarDiretor(String nomePessoa, Pessoa dir) {
		if(listaDeDiretores.get(nomePessoa) == null)
			listaDeDiretores.put(nomePessoa, dir);
		else
			System.out.println("Id já existente");
		
	}
	
	public void adicionarAtor(String nomePessoa, Pessoa atr) {
		listaDeAtores.put(nomePessoa, atr);
	}

	public int quantidadeDeDiretores() {
		return listaDeDiretores.size();
	}


	public int quantidadeDeAtores() {		
		return listaDeAtores.size();
	}

	@Override
	public Pessoa retornarAtor(String nome) {
		return this.buscarAtor(nome);
	}

	@Override
	public Pessoa retornarDiretor(String nome) {
		return listaDeDiretores.get(nome);
	}
	
	public ArrayList<Pessoa> retornarTodosOsAtores(){
		return (ArrayList<Pessoa>) listaDeAtores.values();
	}
	
	public ArrayList<Pessoa> retornarTodosOsDiretores(){
		return (ArrayList<Pessoa>) listaDeDiretores.values();
	}
	
	public Pessoa buscarAtor(String nome) {
		if(listaDeAtores.containsKey(nome)){
			return listaDeAtores.get(nome);
		}else{ 
			return null;
		}
	}
	
	public Pessoa buscarDiretor(String nome) {
		if(listaDeDiretores.containsKey(nome)){
			return listaDeDiretores.get(nome);
		}else{ 
			return null;
		}
	}

	public boolean removerAtor(String nome) {
		if(this.buscarAtor(nome) != null){
			listaDeAtores.remove(nome);
			return true;
		}else{
			return false;	
		}
	}
	
	public boolean removerDiretor(String nome) {
		if(this.buscarAtor(nome) != null){
			listaDeDiretores.remove(nome);
			return true;
		}else{
			return false;	
		}
	}


}